package unidades;
import mapas.Region;
import civilizacion.Civilizacion;
import excepcionesUnidades.*;
import excepcionesGenerales.*;

/**@author Grupo 2, Algoritmos y programacin 3, Ctedra Fontela<br>1er cuat 2007
 * <br>Esta clase concreta se encarga de representar un soldado de elite.
 */

public class SoldadoElite extends Militar {
	/**
	 * Se encarga de inicializar al soldado de elite, con los valores correctos.
	 * @param cvl Civilizacin a la cual pertenecera el soldado elite
	 * @param region Regin donde se debe crear el soldado elite
	 * @throws NullPointerException Excepcin que indica que se paso por parm
	 * una referencia nula.
	 */
	public SoldadoElite(Civilizacion cvl, Region region) throws NullPointerException{
		super();
		try{
		setCoste(3);
		setTiempo(4);
		setVidaTotal(15);
		setVidaRestante(15);
		setAtaque(2);
		setDefensa(1);
		setDespTotal(2);
		setDespRestante(2);
		setAtaqueMax(6);
		setDefensaMax(3);
		setCivilizacion(cvl);
		setRegionAct(region);
		}
		//En ambos casos se que estoy asignando correctamente
		catch(ExcepAtributoInvalido e){}
		catch(ExcepSinMovimiento e){}
	}

	public String getNombre() {
		String nombre = "";
		for (int cont = 0; cont < getNivelPromocion(); cont++)
			nombre +="*";
		nombre += "Soldado Elite";
		for (int cont = 0; cont < getNivelPromocion(); cont++)
			nombre +="*";
		return nombre;
	}
}
